문단 클릭 = 시작 위치 선택 · 재생은 우하단 버튼/P (재생 중 클릭 = 점프)

8장. 데이터셋 엔지니어링

출처 — 칩 후옌(변성윤 옮김), 『AI 엔지니어링』(한빛미디어, 2025), 8장 (pp. 426~471). 원문 PDF ai_engineering_final_v11_260909.pdf (2026-09-09 판)

모델의 품질은 결국 학습 데이터의 품질에 달려 있다 — 이 장은 데이터 큐레이션의 세 기준(품질·커버리지·양)에서 시작해, 데이터 증강과 합성으로 부족한 데이터를 만드는 방법, 그리고 중복 제거·정리·형식 맞추기 같은 데이터 처리 절차까지 다룬다.

학습 목표

이 장을 끝내면 다음을 할 수 있다.

  • 데이터 큐레이션의 세 가지 기준(품질·커버리지·양)이 각각 무엇을 뜻하는지 설명한다.
  • 좋은 학습 데이터의 여섯 가지 품질 특성(관련성·부합·일관성·형식·고유성·규정 준수)을 구분하고 실제 데이터셋 평가에 적용한다.
  • 데이터 증강과 데이터 합성의 차이를 설명하고, 전통적 기법(규칙 기반·시뮬레이션)과 AI 기반 기법(셀프플레이·역지시·모델 증류)을 구분한다.
  • 합성 데이터의 한계(품질 관리·피상적 모방·모델 붕괴·불분명한 데이터 계보)를 설명하고, 실무에서 검증 장치를 선택한다.
  • 데이터 검사·중복 제거·정리·형식 맞추기라는 데이터 처리 네 단계를 순서대로 구현한다.

전체 흐름도

[ 데이터셋 엔지니어링 ]  ── 목표: 정해진 예산 안에서 최고의 모델을 학습시킬 데이터셋 만들기
      │  배경: 모델 중심 AI(모델을 키운다) → 데이터 중심 AI(데이터를 개선한다)로 관심 이동
      │        (앤드류 응의 데이터 중심 AI 경진대회 · DataComp의 CLIP 데이터셋 경진대회)
      ▼
[ 1. 데이터 큐레이션 ]  ── 세 기준: 품질 · 커버리지 · 양 (요리 비유: 재료 품질 · 재료 배합 · 재료 분량)
      ├─ 품질(§2): 관련성 · 작업 요구사항 부합 · 일관성 · 올바른 형식 · 충분한 고유성 · 규정 준수
      ├─ 커버리지(§3): 다양성 — 사용 패턴 · 언어 · 주제 · 과제 · 출력 형식을 넓게 담기
      ├─ 양(§4): 파인튜닝 기법 · 과제 복잡성 · 기본 모델 성능이 필요 데이터량을 좌우
      └─ 수집·주석(§5): 데이터 플라이휠(자체 애플리케이션 데이터) → 공개 데이터셋 → 자체 주석
      ▼
[ 2. 데이터 증강과 합성 ]  ── 부족한 데이터를 프로그램으로 만든다
      ├─ 전통 기법(§6): 규칙 기반(템플릿·Faker) · 섭동(노이즈) · 시뮬레이션(자율주행·로보틱스)
      ├─ AI 기반 기법(§6): AI 시뮬레이션 · 셀프플레이 · 바꿔쓰기/번역 · 역지시 · 라마 3 코드 합성 파이프라인
      ├─ 데이터 검증(§6): 기능적 정확성 · AI 검증기 · 휴리스틱 필터링
      ├─ AI 생성 데이터의 한계(§6): 품질 관리 · 피상적 모방 · 모델 붕괴 · 불분명한 데이터 계보
      └─ 모델 증류(§6): 큰 교사 모델 → 작고 빠른 학생 모델(DistilBERT · 알파카 · 네모트론-4)
      ▼
[ 3. 데이터 처리 ]  ── 검사 → 중복 제거 → 정리·필터링 → 형식 맞추기 (§7)
      │  (원본은 절대 직접 수정하지 않는다 — 사본을 보관하고 스크립트로만 가공)
      ▼
[ 9장 추론 최적화 ]  잘 큐레이션한 데이터로 학습시킨 모델을, 이제 어떻게 서빙할 것인가

0. 용어 사전

참고 — 위쪽 4개는 이 장을 읽기 전에 알아야 하는 선행 용어다. 7장(파인튜닝)·2장(파운데이션 모델 이해하기)에서 다룬 개념이며, 이 장은 이미 알고 있다는 전제로 "어떤 데이터가 필요한가"를 설명한다.

한글 용어 원문 영문명 의미
파인튜닝 Fine-tuning (선행) 사전 학습된 모델을 특정 과제·행동에 맞게 추가로 학습시키는 과정. 데이터셋 엔지니어링은 이 파인튜닝(과 사전 학습)에 쓸 데이터를 만드는 일이다. 7장 §1
사전 학습·사후 학습 Pre-training / Post-training (선행) 사전 학습은 대규모 텍스트로 모델의 기초 지식을 만드는 단계, 사후 학습은 그 위에서 지시·선호를 따르도록 다듬는 단계. 이 장은 주로 사후 학습용 데이터에 집중한다. 2장 §3
지도 파인튜닝·선호도 파인튜닝 Supervised Fine-tuning / Preference Fine-tuning (선행) 지도 파인튜닝은 (지시, 응답) 쌍으로, 선호도 파인튜닝은 (지시, 선호 응답, 비선호 응답) 형식으로 모델을 학습시키는 방식. 이 장에서 다루는 데이터 형식의 기준이 된다. 7장 §1
파라미터 효율적 파인튜닝(PEFT)·LoRA Parameter-Efficient Fine-Tuning / LoRA (선행) 모델 파라미터 일부만 학습시켜 전체 파인튜닝보다 훨씬 적은 데이터로도 효과를 내는 기법. §4의 "필요 데이터량" 논의에서 전체 파인튜닝과 대비된다. 7장 §5
데이터셋 엔지니어링 Dataset Engineering 정해진 예산 안에서 최고의 모델을 학습시킬 데이터셋을 만드는 일. 서두
데이터 중심 AI Data-centric AI 모델은 고정하고 데이터를 개선해서 성능을 올리는 접근. §1
모델 중심 AI Model-centric AI 데이터는 고정하고 모델 구조·크기·학습 기법을 개선해서 성능을 올리는 접근. §1
데이터 큐레이션 Data Curation 모델이 어떻게 학습하는지 이해하고, 품질·커버리지·양 기준에 맞는 데이터를 고르고 다듬는 일. §2
데이터 품질 Data Quality 관련성·부합·일관성·형식·고유성·규정 준수라는 여섯 특성으로 판단하는, 데이터가 "제 역할을 하는" 정도. §2
데이터 커버리지(데이터 다양성) Data Coverage(Data Diversity) 학습 데이터가 실제 사용자들이 겪을 문제·표현 방식의 범위를 얼마나 넓게 담는지. §3
데이터 양 Data Quantity 필요한 학습 예시의 개수. 파인튜닝 기법·과제 복잡성·기본 모델 성능·예산에 따라 달라진다. §4
경화 Ossification 사전 학습이 모델 가중치를 얼려서, 데이터가 많아도 파인튜닝에 잘 적응하지 못하게 되는 현상. §4
데이터 플라이휠 Data Flywheel 사용자가 만든 데이터를 활용해 제품을 계속 개선하는 선순환 구조. §5
데이터 증강 Data Augmentation 기존(실제) 데이터를 변형해서 새로운 데이터를 만드는 방법. §6
데이터 합성 Data Synthesis 실제 데이터의 특성을 모방한, 실제가 아닌 데이터를 새로 생성하는 방법. §6
절차적 생성 Procedural Generation 사람이 아니라 알고리즘·규칙으로 데이터를 만드는 방식. 게임 콘텐츠 생성에서 유래했다. §6
섭동 Perturbation 기존 데이터에 노이즈를 더해 새로운(종종 모델을 속이거나 반대로 견고하게 만드는) 데이터를 만드는 기법. §6
셀프플레이 Self-play AI가 스스로와 반복 대전하며 데이터를 만들고 전략을 발전시키는 방식(알파고·Dota 2 봇). §6
역지시 Reverse Instruction 기존의 긴 고품질 콘텐츠를 먼저 가져오고, 그 콘텐츠를 이끌어낼 프롬프트(지시)를 AI로 거꾸로 만드는 기법. §6
역번역 Back Translation 번역한 문장을 다시 원래 언어로 되돌려, 원문과 비교해서 번역 품질을 확인하는 기법. §6
피상적 모방 Superficial Imitation 학생 모델이 교사 모델의 문체는 잘 따라 하지만, 정확성이나 학습 범위 밖 일반화에서는 취약해지는 현상. §6
모델 붕괴 Model Collapse AI가 생성한 데이터를 반복 학습에 사용하면 희귀한 사건을 잊고 성능이 점점 떨어지는 현상. §6
모델 증류(지식 증류) Model Distillation(Knowledge Distillation) 작은 학생 모델이 큰 교사 모델의 행동을 모방하도록 학습시키는 방법. §6
데이터 중복 제거 Data Deduplication 학습 데이터에서 중복된 예시를 찾아 제거하는 작업. 편향과 테스트 오염을 막는다. §7
능동 학습 Active Learning 모델 학습에 가장 도움이 되는 예시를 골라서 주석·학습에 우선 투입하는 기법. §7
중요도 샘플링 Importance Sampling 과제에 가장 중요한 예시를 가려내 우선순위를 매기는 기법. §7

1. 데이터 중심 AI와 데이터셋 엔지니어링의 부상

무한한 컴퓨팅 자원을 가진 최고의 팀이라도 데이터가 없으면 좋은 모델을 파인튜닝할 수 없다. 데이터셋 엔지니어링의 목표는 정해진 예산 안에서 최고의 모델을 학습시킬 데이터셋을 만드는 것이다. 처음부터 모델을 개발할 여력이 있는 회사는 줄어드는 반면, AI 성능을 차별화하려고 데이터에 주목하는 회사는 늘고 있다. 그 결과 데이터 운영은 더 이상 여유 시간에 처리하는 부수 업무가 아니라, 데이터 레이블러·데이터셋 제작자·데이터 품질 엔지니어라는 전담 역할로 자리 잡았다.

데이터 작업의 비중이 커졌다는 것은 GPT-3에서 GPT-4로 넘어가는 과정만 봐도 알 수 있다. GPT-3 논문의 기여자 목록에서 데이터 수집·필터링·중복 제거·중복 분석을 담당한 사람은 단 두 명이었지만, 3년 뒤 GPT-4 논문에서는 약 80명이 각종 데이터 처리 작업에 참여했다(오픈AI가 별도로 고용한 데이터 레이블러는 제외한 숫자다). ChatML 형식 같은 단순해 보이는 작업에도 11명이 투입됐고 그중 다수가 시니어 연구원이었다. 흥미롭게도 오픈AI 공동창립자 보이치에 자렘바는 2016년 AMA에서 대부분의 연구를 공개 데이터셋으로 진행할 계획이라고 밝힌 바 있다 — 그때와 지금의 데이터 투자 규모는 완전히 다르다.

이런 변화의 배경에는 모델 중심 AI에서 데이터 중심 AI로의 관점 이동이 있다. 모델 중심 AI는 새 아키텍처·더 큰 모델·새 학습 기법으로 성능을 올리는 접근이고, 데이터 중심 AI는 데이터 처리 기법을 개선하고 고품질 데이터셋을 만들어 더 적은 자원으로도 더 좋은 모델을 학습시키는 접근이다. 딥러닝 초기의 AI 벤치마크는 대부분 모델 중심이었다(같은 이미지넷 데이터셋으로 최대한 좋은 모델을 만드는 식). 최근에는 데이터 중심 벤치마크가 늘고 있다 — 2021년 앤드류 응이 연 데이터 중심 AI 경진대회는 참가자들이 잘못된 레이블 수정·엣지 케이스 추가·데이터 증강으로 같은 기본 데이터셋을 개선하게 했다. 2023년 DataComp는 표준화된 스크립트로 제출된 각 데이터셋으로 CLIP 모델을 학습시키고 38개 다운스트림 작업 성능으로 데이터셋 품질을 평가했고, 2024년에는 4억 1,200만~70억 파라미터 규모의 언어 모델용 데이터셋을 평가하는 유사한 경진대회를 열었다. DataPerf·dcbench도 같은 부류의 데이터 중심 벤치마크다. 다만 모델 중심과 데이터 중심의 구분은 연구 방향을 잡는 데 유용한 것이지, 실제 기술 발전은 대개 모델과 데이터 양쪽 투자가 함께 이뤄질 때 나온다.

2. 데이터 큐레이션과 데이터 품질

데이터 큐레이션은 모델이 어떻게 학습하는지, 어떤 자원이 학습에 도움이 되는지 이해해야 하는 일이며, 데이터셋을 만드는 사람은 애플리케이션·모델 개발자와 긴밀히 협력해야 한다(작은 팀에서는 한 사람이 두 역할을 겸하기도 한다). 어떤 데이터가 필요한지는 무엇을 가르치고 싶은가에 달려 있다 — 자기 지도 학습 파인튜닝에는 데이터 시퀀스가, 지도 파인튜닝에는 (지시, 응답) 쌍이, 선호도 파인튜닝에는 (지시, 선호 응답, 비선호 응답)이, 보상 모델 학습에는 같은 형식이거나 ((지시, 응답), 점수) 형식이 필요하다.

생각의 사슬(CoT)과 도구 사용이 어려운 이유. 모델이 단계별로 응답하도록 가르치려면 학습 데이터 자체에 CoT 응답이 들어 있어야 한다. Chung 등(2024)에 따르면 파인튜닝 데이터에 단계별 응답을 넣으면 여러 크기의 모델이 CoT 작업에서 훨씬 좋은 성능을 보이고, 어떤 작업에서는 정확도가 거의 두 배까지 오른다. 예를 들어 "질소의 끓는점은?"에 CoT 없이 답하면 그냥 "-320.4F"지만, CoT 지시를 주면 "사과가 23개 있었고 20개를 써서 3개가 남았으며 6개를 더 사서 9개가 되었다"처럼 중간 추론까지 드러난다. 이런 단계별 응답을 만드는 일은 지루하고 시간이 오래 걸려서 CoT 데이터셋 자체가 다른 지시 데이터셋보다 적다. 도구 사용 데이터도 비슷하게 어렵다 — 보통 도메인 전문가를 활용하는데, 사람에게 "어떻게 일하는지" 설명해 달라고 하면 기억 오류나 사소하다고 생각한 단계 누락이 생기기 쉬워, 실제 작업 과정을 직접 관찰해야 정확도가 올라간다. 게다가 사람에게 효율적인 방식(웹 화면 클릭)이 AI에게는 비효율적(API 호출이 더 쉬움)이라서, 사람이 만든 주석이 AI 에이전트에는 최적이 아닐 수 있다 — 그래서 시뮬레이션이나 합성 기법으로 도구 사용 데이터를 만드는 경우가 많다. 라마 3 연구자들은 이를 위해 메시지 헤더와 특별 종료 토큰으로 구성된 멀티메시지 채팅 형식을 따로 설계했다. 대화 인터페이스가 있는 애플리케이션이라면 싱글 턴(개별 지시 응답)과 멀티 턴(작업 해결 과정) 데이터 중 무엇이 필요한지도 정해야 한다 — 멀티 턴은 특별히 설계된 시나리오가 필요해 만들기 더 어렵다.

데이터 큐레이션은 새 행동을 가르칠 데이터를 만드는 일뿐 아니라, 나쁜 행동을 잊게 하려고 기존 데이터를 제거하는 일도 포함한다. 예컨대 챗봇이 아무도 요청하지 않은 "문체를 개선하면 좋겠다"는 제안을 습관적으로 붙인다면, 학습 데이터에서 그런 예시를 찾아 제거하고 불필요한 수정 없이 사실 확인만 하는 예시로 바꿔야 한다.

이 모든 요구를 관통하는 세 기준이 데이터 품질·데이터 커버리지·데이터 양이다. 모델 학습을 요리에 비유하면, 데이터는 재료다. 품질은 재료 자체의 신선도(상한 재료로는 좋은 음식을 만들 수 없다), 커버리지는 적절한 재료 배합(설탕이 너무 많거나 적으면 안 된다), 양은 얼마나 준비해야 하는가에 해당한다.

데이터 품질 — 여섯 가지 특성

적은 양의 고품질 데이터가 많은 양의 노이즈 있는(관련 없거나 일관성 없는) 데이터보다 좋은 성능을 낸다. Yi 모델 팀은 신중하게 만든 1만 개의 지시가 수십만 개의 노이즈 있는 지시보다 훨씬 낫다는 것을 발견했다. LIMA 연구는 신중히 큐레이션한 1,000개의 (프롬프트, 응답)만으로 650억 파라미터 라마 모델을 파인튜닝했더니, 사람 주석자 기준으로 43%의 경우 GPT-4와 비슷하거나 더 나은 답을 냈다는 것을 보여줬다(다만 예시가 너무 적어 상용 모델만큼 강건하지는 않았다). 라마 3 팀도 같은 결론에 도달했고, 특히 사람이 만든 데이터는 안전 가이드라인처럼 복잡한 판단이 필요한 영역에서 오류·불일치가 더 쉽게 드러나 AI 보조 주석 도구를 개발했다.

고품질이라는 말을 구체화하면 다음 여섯 특성으로 정리된다.

특성
관련성(relevant) 학습 예시가 모델이 배우려는 과제와 관련 있어야 한다(현재 법률 질의 과제라면 19세기 법률 데이터는 관련성이 낮다)
작업 요구사항 부합(aligned with task requirement) 과제가 요구하는 성질(사실적 정확성·창의성·근거 포함 여부·간결함)에 주석이 맞아야 한다 — "정확한"이 아니라 "부합"이라 부르는 이유는 과제에 따라 정답이 곧 원하는 답은 아닐 수 있어서다
일관성(consistent) 예시들 사이, 그리고 주석자들 사이에 결과가 크게 다르면 안 된다. 좋은 주석 가이드라인이 이를 뒷받침한다
올바른 형식(correctly formatted) 모델이 기대하는 형식을 따라야 한다 — 불필요한 HTML 태그·후행 공백·줄바꿈·일관되지 않은 대소문자·숫자 형식은 제거한다
충분한 고유성(unique) 중복은 편향과 데이터 오염을 만든다. "충분한"이라는 표현은 활용 사례에 따라 허용 가능한 중복 수준이 다르기 때문이다
규정 준수(compliant) 관련 내부·외부 정책(법률·규정 포함)을 지켜야 한다 — 예를 들어 PII를 쓸 수 없다면 데이터에 PII가 없어야 한다

3. 데이터 커버리지

모델의 학습 데이터는 모델이 풀어야 할 문제의 범위를 포괄해야 한다. 실제 사용자는 다양한 문제를 다양한 방식으로 표현하므로, 애플리케이션의 다양한 사용 패턴을 담은 데이터를 확보하는 것이 좋은 성능의 핵심이다 — 그래서 이 개념을 데이터 다양성이라고도 부른다. 자세한 지시를 선호하는 사용자와 짧은 지시를 선호하는 사용자가 섞여 있다면 둘 다 포함해야 하고, 질의에 오타가 흔하다면 오타가 포함된 예시도 넣어야 하며, 여러 프로그래밍 언어를 다룬다면 사용자가 관심 있는 언어들을 포함해야 한다.

애플리케이션마다 필요한 다양성의 종류가 다르다. 프랑스어-영어 번역 도구는 언어 다양성은 필요 없지만 주제·길이·말투 다양성은 도움이 되고, 전세계 고객을 상대하는 추천 챗봇은 도메인 다양성보다 언어·문화 다양성이 중요하다. 챗봇처럼 범용 용도라면 파인튜닝 데이터가 광범위한 주제와 말하기 패턴을 담아야 한다 — Ding 등(2023)은 채팅 언어 모델 성능을 끌어올리는 가장 직접적인 방법이 학습 데이터의 품질과 다양성을 늘리는 것이라고 주장했다. 네모트론을 개발한 엔비디아 팀은 과제 다양성·주제 다양성·지시 다양성(다양한 출력 형식·길이·개방형/예아니오 응답)에 집중했다. 다만 항상 다양성이 도움이 되는 것은 아니다 — 〈The Data Addition Dilemma〉는 경우에 따라 이질적인 데이터를 더하면 오히려 성능이 나빠질 수 있음을 보여줬다.

메타는 라마 3 논문에서 모델 아키텍처는 이전 버전과 크게 다르지 않으며, 성능 향상은 주로 데이터 품질·다양성 개선과 늘어난 학습 규모에서 왔다고 밝혔다. 사전 학습·지도 파인튜닝·선호도 파인튜닝이라는 세 단계 모두 여러 도메인 데이터를 쓰지만, 도메인의 종류와 비중은 단계마다 다르다.

도메인 사전 학습 지도 파인튜닝 선호도 파인튜닝
일반 상식(영어) 50% 52.66% 81.99%
수학과 추론 25% 21.19% 5.89%
코딩 17% 14.89% 6.93%
다국어 8% 3.01% 5.19%
시험 유형 X 8.14% X
롱 컨텍스트 X 0.11% X

흥미롭게도 사전 학습과 지도 파인튜닝에서 수학·추론·코드 토큰을 합치면 학습 데이터의 거의 절반을 차지한다 — 인터넷 데이터에서 수학·코드 비중이 그만큼 높을 리는 없으므로, 의도적으로 비중을 높인 것이다. 라마 3 연구자들은 소량의 고품질 코드·수학 데이터로 학습률을 점진적으로 낮추며 어닐링하면 벤치마크 성능이 오른다는 것을 보여줬는데, 이는 고품질 코드·수학 데이터가 자연어보다 추론 능력을 키우는 데 더 효과적이라는 통념을 뒷받침한다. 반대로 선호도 파인튜닝에서는 코드·수학 비중이 합쳐서 12.82%로 훨씬 낮다 — 아마 실제 사용자 선호도 분포를 반영하려는 목적일 것이다. 올바른 데이터 조합을 정하는 간단한 방법은 실제 애플리케이션 사용 패턴에 맞추는 것이고, 다른 방법은 실험으로 찾는 것이다(메타는 후보 조합마다 작은 모델을 여러 개 학습시켜 큰 모델의 성능을 예측하는 스케일링 법칙 실험을 수행했다 — 2장 §2에서 다룬 스케일링 외삽과 비슷한 접근이다).

Zhou 등(2023)의 실험은 다양성과 품질의 상호작용을 잘 보여준다. 크기(2,000개 예시)는 같지만 성격이 다른 세 데이터셋 — ① 고품질이지만 다양하지 않음 ② 다양하지만 저품질 ③ 다양하면서 고품질 — 으로 70억 파라미터 모델을 각각 학습시켰더니, 다양하면서 고품질인 데이터셋으로 학습한 모델이 나머지 둘보다 뚜렷하게 좋은 생성 품질을 보였다. 즉 품질만 좋거나 다양성만 높은 데이터로는 부족하고, 둘을 함께 갖춰야 한다.

4. 데이터 양

"얼마나 많은 데이터가 필요한가"는 "얼마나 많은 돈이 필요한가"를 묻는 것과 비슷해서, 상황에 따라 답이 완전히 달라진다. 한쪽에는 예시 하나만으로 학습이 가능함을 보여준 재미있는 실험이 있고, 다른 쪽에는 여전히 수백만 개 예시로 모델을 파인튜닝하는 팀도 있다. 다만 수백만 개도 파운데이션 모델을 처음부터 학습시키는 데 필요한 데이터에 비하면 적은 양이다 — 라마 2·라마 3는 각각 2조·16조 개 토큰으로 학습했는데, 예시 하나가 2,000토큰이라면 이는 각각 10억 개·150억 개 예시에 해당한다.

참고 — 데이터가 수백만 개라면 처음부터 학습시키는 게 낫지 않을까 생각할 수 있다. 실제로 그게 나을 수도 있으므로 평가해 봐야 한다. 사전 학습된 모델 위에 파인튜닝하는 쪽이 보통 더 효율적이지만, 데이터가 아주 많을 때는 파인튜닝이 오히려 나쁠 수도 있다 — 사전 학습이 가중치를 경화(얼림)시켜 파인튜닝 데이터에 잘 적응하지 못하게 만들 수 있기 때문이다(작은 모델일수록 더 취약하다).

데이터 품질·다양성 외에 필요 데이터량을 결정하는 요소가 세 가지 더 있다.

  • 파인튜닝 기법 — 전체 파인튜닝은 최고 성능을 내지만 LoRA 같은 PEFT 방법보다 몇 배 많은 데이터가 필요하다. (지시, 응답) 쌍이 수만~수백만 개면 전체 파인튜닝을, 수백~수천 개뿐이면 PEFT를 검토한다(선행 용어 참고 — 7장 §5).
  • 과제 복잡성 — 리뷰 긍정/부정 분류 같은 단순 과제는 금융 서류 질의응답 같은 복잡한 과제보다 훨씬 적은 데이터로 충분하다.
  • 기본 모델의 성능 — 기본 모델이 목표 성능에 가까울수록 필요 예시가 적다. 오픈AI의 파인튜닝 가이드에 따르면 예시가 적을 때(100개)는 더 고급 모델이 파인튜닝 후에도 더 좋은 성능을 보이지만, 예시가 많을 때(55만 개)는 실험에 쓰인 다섯 모델이 비슷한 성능으로 수렴했다. 이는 사전 학습과는 정반대다 — 사전 학습에서는 더 큰 모델이 오히려 더 많은 데이터를 필요로 한다.

간단히 말해 데이터가 적다면 더 고급 모델에 PEFT를, 데이터가 많다면 더 작은 모델에 전체 파인튜닝을 쓰는 편이 낫다. 대규모 데이터셋 구축에 투자하기 전에는 먼저 잘 만들어진 소규모 데이터셋(50개 예시 안팎)으로 파인튜닝이 실제로 모델을 개선하는지부터 확인하는 것이 좋다 — 소규모로 명확한 개선이 보이면 데이터를 늘렸을 때도 성능이 오를 가능성이 높다는 신호고, 개선이 없다고 곧바로 "데이터를 늘려도 소용없다"고 단정해서도 안 된다(하이퍼파라미터·데이터 품질·프롬프트 작성 방식도 결과에 영향을 준다). 대부분 50~100개 예시로도 개선 여부는 확인할 수 있다.

참고 — 품질이 낮거나 관련성이 떨어지는 데이터로 먼저 파인튜닝한 다음 고품질 데이터로 다시 파인튜닝하면, 필요한 고품질 데이터의 양을 줄일 수 있다. 예: ① 법률 문서(자기 지도 학습) → (질의, 응답) 쌍(지도 학습) ② 트윗 감정 분류(관련성 낮음) → 제품 감정 분류(관련성 높음) ③ 합성 의료 데이터 → 실제 의료 데이터. 다만 ③처럼 서로 다른 두 파인튜닝 단계를 조율하는 방식은 제대로 하지 않으면 고품질 데이터만으로 파인튜닝했을 때보다 못한 결과를 낼 수 있다.

작은 데이터셋으로 실험하면 앞으로 얼마나 더 필요한지 추정할 수 있다. 현재 데이터셋의 일부(25%·50%·100%)로 학습시키고 크기별 성능 변화를 그려 보면, 대부분의 경우 학습 예시를 추가할수록 성능 향상 폭이 점점 줄어드는(예: 처음 1,000개는 정확도를 10% 올리지만 다음 1,000개는 5%만 올리는) 곡선이 나타난다. 데이터 다양성도 중요하다 — Chung 등(2022)에 따르면 파인튜닝 과제 수가 9개에서 282개로 늘 때 성능이 크게 향상됐고, 282개를 넘으면 증가폭이 둔화되지만 1,836개까지는 계속 조금씩 개선됐다. 다양성은 과제 종류(요약·질의응답 등)·주제(패션·금융·기술 등)·출력 형식(JSON·예/아니오 등)으로 나타난다.

데이터 예산도 현실적 제약이다 — 예를 들어 데이터 주석 예산이 1만 달러이고 예시 하나에 2달러가 든다면 최대 5,000개 예시를 만들 수 있고, 데이터에 돈을 더 쓰면 컴퓨팅에 쓸 돈은 그만큼 줄어드는 균형도 고려해야 한다.

5. 데이터 수집과 주석

데이터 수집의 목표는 사용자 프라이버시를 존중하고 규정을 지키면서, 필요한 품질·다양성을 갖춘 충분한 크기의 데이터셋을 만드는 것이다 — 공개 데이터 수집, 독점 데이터 구매, 데이터 주석, 데이터 합성이 모두 여기 포함된다. 가장 중요한 데이터 소스는 보통 자체 애플리케이션에서 나오는 데이터다. 사용자가 만든 데이터로 제품을 계속 개선하는 구조를 데이터 플라이휠이라 부르는데, 애플리케이션 데이터는 자신이 풀려는 과제의 분포와 완벽히 일치한다는 점에서 다른 소스로는 얻기 힘든 이점이 있다. 사용자 생성 데이터는 사용자 콘텐츠·로그·피드백일 수 있으며, 사용자 피드백 시스템 설계는 10장에서 다룬다.

자체 데이터를 만들기 전에 먼저 사용 가능한 공개 데이터셋부터 확인해야 한다. 원문이 소개하는 공개 데이터셋 리소스는 다음과 같다(사용 전 반드시 라이선스를 확인하고, 상업적 사용이 허용된 데이터셋이라도 그 안의 일부가 다른 출처에서 왔을 수 있음을 감안한다).

자원 성격
허깅페이스·캐글 각각 수십만 개의 데이터셋
구글 Dataset Search 잘 알려지지 않았지만 유용한 검색 도구
Data.gov·data.gov.in 정부 오픈 데이터(수십만 개·수만 개)
미시간 대학교 ICPSR 수만 개의 사회과학 연구 데이터
UC 어바인 ML 저장소·OpenML 각각 수천 개의 데이터셋을 가진 오래된 저장소
Open Data Network 수만 개의 데이터셋 검색
AWS Open Data 클라우드 제공업체의 소규모 오픈 데이터셋 모음
텐서플로 데이터셋 ML 프레임워크가 바로 불러올 수 있는 소규모 데이터셋
EleutherAI lm-evaluation-harness 400개 이상의 벤치마크 데이터셋(데이터셋당 평균 2,000개 이상 예시)
Stanford Large Network Dataset Collection 그래프 데이터셋 저장소

자체 데이터에 주석을 달아야 할 때가 많은데, 어려운 이유는 주석 과정 자체뿐 아니라 명확한 주석 가이드라인을 만드는 일도 복잡하기 때문이다 — 좋은 응답이 무엇인지, 3점짜리와 4점짜리 응답의 차이가 무엇인지까지 정의해야 한다. 다행히 이런 가이드라인은 4장 §10에서 다룬 평가 데이터용 가이드라인과 같아서, 평가 가이드라인에 투자한 시간이 데이터 큐레이션에도 도움이 된다. 링크드인을 비롯한 여러 팀이 주석 가이드라인 작성을 AI 엔지니어링 파이프라인에서 가장 까다로운 부분으로 꼽았다 — 시간과 노력이 너무 많이 들어 작업을 중도 포기하고 모델이 알아서 잘하기를 기대하는 경우가 흔하지만, 이는 대부분의 애플리케이션에서 위험한 결과로 이어질 수 있다.

(지시, 응답) 데이터셋 하나를 만드는 과정은 순차적이지 않고 여러 단계를 오간다 — 예를 들어 원하는 특징의 데이터셋(10,000개)을 찾고, 저품질 지시(1,000개)를 제거하고, 저품질 응답을 가진 지시(3,000개)를 따로 빼서 좋은 지시에 응답을 새로 작성하고, 부족한 주제는 템플릿을 만들어 AI로 지시를 합성한 뒤 다시 사람이 주석을 다는 식이다. 실제로는 주석 가이드라인을 여러 번 갱신하고, 잘못된 주석을 다시 확인하고, 템플릿당 생성 지시 수를 조정하는 등 훨씬 더 많은 반복이 필요하다.

6. 데이터 증강과 합성

컴퓨팅·전문 인력·데이터는 AI의 가장 어려운 세 문제이며, 데이터를 프로그래밍으로 생성하는 것은 업계의 오랜 목표였다. 데이터 증강은 기존(실제) 데이터에서 새 데이터를 만드는 것(고양이 사진을 뒤집어 새 고양이 사진을 만듦), 데이터 합성은 실제 데이터의 특성을 모방한, 실제가 아닌 데이터를 생성하는 것(마우스 움직임을 시뮬레이션해서 봇 움직임 데이터를 만듦)이다. 둘 다 데이터 생성 자동화가 목표라서 이 장에서는 종종 "데이터 합성"으로 둘을 함께 부른다.

인위적으로 데이터를 만드는 일은 소프트웨어 테스트에서 Faker·Chance 같은 가짜 데이터 생성기로 오래전부터 해왔다. AI가 사람이 만든 것과 구별하기 어려운 데이터를 만들 수 있게 되면서 의료 소견서·계약서·재무제표·이미지·동영상 광고까지 더 정교한 데이터를 합성할 수 있게 됐다. 다만 합성 데이터가 사람이 만든 데이터를 완전히 대체하지는 못하며(이 장 §6 「AI 생성 데이터의 한계」에서 다루듯), 사람이 만든 데이터와 AI가 만든 데이터를 섞는 것이 종종 최고의 결과를 낸다.

데이터 합성을 하는 이유

  • 데이터 양 늘리기 — 희귀 날씨, 심해 탐사, 자율주행 사고처럼 실제 데이터를 구하기 어려운 경우 특히 유용하다.
  • 데이터 커버리지 늘리기 — 아주 짧거나 긴 텍스트, 유해 콘텐츠 탐지용 유해 표현 대화, 적대적 예시, 희귀 클래스 데이터를 만들 수 있다. TrueTeacher는 LLM으로 사실과 맞지 않는 요약문을 만들어 사실적 불일치 탐지 모델을 학습시켰고, 앤트로픽의 〈Discovering Language Model Behaviors with Model-Written Evaluations〉는 154가지 AI 행동을 테스트하는 데이터셋을 합성으로 만들면서, LM이 만든 데이터셋이 사람이 만든 것만큼 좋거나 더 나은 품질을 보인다는 것을 확인했다.
  • 데이터 품질 향상 — 도구 사용 데이터나 복잡한 수학 문제처럼, 사람의 근본적 한계 때문에 오히려 AI가 만든 데이터가 더 낫기도 하다. 선호도 데이터도 마찬가지다 — 사람의 평가는 기분·동기에 따라 흔들리지만, AI가 만든 선호도 평가는 더 일관되다.
  • 프라이버시 문제 해결 — 의료·보험처럼 법적 규제로 실제 데이터를 쓰기 어려운 분야에서 민감 정보 없는 합성 데이터가 유일한 선택지가 되기도 한다.
  • 모델 증류 — 원래 모델이 생성한 데이터로 더 저렴하고 빠른 증류 모델을 학습시킬 수 있다(자세한 내용은 아래 「모델 증류」 참고).

전통적인 데이터 생성 기법

AI 이전에도 소프트웨어 테스팅·게임·로보틱스는 오랫동안 데이터를 절차적으로 생성해 왔다.

  • 규칙 기반 — 미리 정한 규칙·템플릿에 난수 생성기로 값을 채운다. 신용카드 거래 템플릿을 예로 들면 다음과 같다.
Transaction ID: [Unique Identifier]
Date: [MM/DD/YYYY]        Time: [HH:MM:SS]
Amount: [Transaction Amount]
Merchant Name: [Merchant/Store Name]
Merchant Category: [Category Code]
Location: [City, State, Country]
Payment Method: [Credit Card/Debit Card/Cash/Online Payment]
Transaction Status: [Completed/Pending/Failed]

많은 사기 탐지 모델이 실제 거래 데이터를 쓰기 전에 이런 템플릿 기반 합성 거래로 먼저 학습해 제대로 작동하는지 확인한다. 템플릿은 청구서·이력서·계약서 같은 문서나, 정규 표현식·수학 방정식처럼 규칙을 따르는 데이터에도 쓰인다(딥마인드는 1억 개의 합성 예시로 올림피아드 수준 기하학 모델 AlphaGeometry를 학습시켰다). 기존 데이터에 회전·자르기·크기 변경 같은 변형을 가하는 것도 절차적 생성이다(알렉스넷 논문이 이미지넷 증강에 이 방법을 썼다). 텍스트라면 "She's a fantastic nurse"를 "She's a great nurse"로 바꾸듯 뜻을 유지한 채 단어를 바꿀 수 있고, 이 방법은 편향을 줄이는 데도 쓰인다.

원본 데이터 증강 데이터
She's a fantastic nurse. He's a fantastic nurse. / She's a fantastic doctor.
The CEO of the firm, Mr. Alex Wang, ... The CEO of the firm, Ms. Alexa Wang, ...
Today, my mom made a casserole for dinner. Today, my dad made a casserole for dinner.
Emily has always loved the violin. Mohammed has always loved the violin.
  • 섭동 — 기존 데이터에 노이즈를 넣는 변형이다. 픽셀 하나만 바꿔도 이미지 분류 모델이 잘못 분류될 수 있음을 보여준 연구(Kaggle CIFAR-10의 67.97%, ImageNet의 16.04%가 취약)처럼 악용되면 위험하지만, 반대로 섭동된 데이터로 학습시키면 모델을 더 견고하게 만들 수 있다(BERT는 토큰의 1.5%를 무작위 단어로 바꿔 성능을 조금 높였다).
  • 시뮬레이션 — 실제 실험이 비싸거나 위험할 때(자율주행차가 고속도로에서 말을 만나는 상황, 로봇의 관절 움직임 시행착오) 가상 환경에서 대신 실험한다. CARLA·웨이모 Simulation City·테슬라 시뮬레이션이 자율주행 예다. 시뮬레이션에서 실패하면 실제 세계에서도 실패할 가능성이 높지만, 아무리 정교해도 실제를 단순화한 것일 뿐이다 — 시뮬레이션에서 배운 것을 실제에 적용하는 분야를 Sim2Real이라 부른다. 금융의 상장·파산 시나리오, 제조업의 결함 시뮬레이션, 기후 과학의 극한 날씨 시나리오처럼 현실에서 드문 사건의 데이터를 만드는 데도 유용하다.

AI 기반 데이터 합성

강력한 AI 모델 덕분에 시뮬레이션의 범위가 넓어졌다 — StableToolBench는 실제 API를 호출하지 않고 AI로 API 호출 결과를 시뮬레이션하는 방법을 보여준다. AI는 사람의 행동도 시뮬레이션할 수 있다 — 오픈AI는 하루 약 180년치 게임을 진행하는 시뮬레이터로 Dota 2 봇을 셀프플레이시켰고, 딥마인드도 셀프플레이로 수백만 판의 바둑 데이터를 모아 알파고를 학습시켰다. 셀프플레이는 게임뿐 아니라 일반 에이전트에도 유용하다 — 모델의 한 버전이 고객 역할을, 다른 버전이 상담사 역할을 맡는 식으로 협상 전략을 실험할 수 있다.

AI의 바꿔쓰기·번역 능력은 기존 데이터셋을 늘리는 데도 쓰인다. "비밀번호 어떻게 재설정해?"라는 질의를 AI로 바꿔써서 "비밀번호를 잊어버렸어" 같은 새 질의를 여러 개 만들 수 있고, MetaMath는 MATH·GSM-8K의 15,000개 예시를 다양하게 다시 써서 거의 40만 개 예시로 늘렸다(이 데이터로 학습한 모델이 더 큰 모델보다 관련 수학 벤치마크에서 좋은 성능을 보였다). 자원이 풍부한 언어의 데이터를 저자원 언어로 번역해 저자원 언어 모델 학습을 돕는 것도 흔하며, 역번역으로 번역 품질을 점검할 수 있다(원문 X → 번역 Y → 역번역 X'를 만들어 X와 X'를 비교, 많이 다르면 Y의 품질이 낮다는 신호).

특성을 가진 지시 데이터를 만드는 창의적인 방법도 있다. 짧은 지시보다 고품질의 긴 응답을 만들기가 AI에게도 더 어렵고 환각 위험도 커지는데, 역지시 방법은 이 문제를 뒤집는다 — 스토리·책·위키백과 같은 기존의 긴 고품질 콘텐츠를 먼저 가져오고, 그 콘텐츠를 유도할 만한 프롬프트를 AI로 거꾸로 생성한다. 이렇게 하면 응답에서의 AI 환각을 피하면서 고품질 지시 데이터를 얻을 수 있다. 역지시는 ① 소수 예시로 약한 모델을 학습시키고 ② 그 모델로 고품질 콘텐츠에 대한 지시를 생성하고 ③ 그 지시 데이터로 다시 파인튜닝하는 과정을 반복해, 수동 주석 없이도 점점 강한 모델을 만들 수 있다는 것을 보여준다. 합성 데이터로 롱 컨텍스트를 학습시키는 방법도 비슷한 발상이다 — 긴 문서를 짧은 덩어리로 나눠 (질의, 응답) 쌍을 만들고, 그 쌍마다 원래 긴 문서 전체를 컨텍스트로 붙여 목표 길이까지 늘려 간다.

라마 3 논문은 데이터 합성의 훌륭한 사례 연구다 — 코드 번역·코드 역번역에 더해, AI로 처음부터 코딩 지시를 합성하는 워크플로를 썼다. ① AI로 다양한 프로그래밍 문제 설명을 생성 ② 문제·언어가 주어지면 해결책을 생성(좋은 프로그래밍 규칙과 CoT 추론을 포함하면 응답 품질이 올랐다) ③ 파서·린터로 문법 오류를, 단위 테스트(이것도 AI가 생성)로 런타임 오류를 잡고 ④ 실패하면 원래 문제·잘못된 해결책·피드백을 모델에 다시 주고 수정하게 한다. 모든 검사를 통과한 예시만 최종 지도 파인튜닝 데이터셋에 들어갔고, 연구자들은 해결책의 약 20%가 처음엔 틀렸지만 스스로 수정되었다고 보고했다. 이 파이프라인으로 라마 3.1의 지도 파인튜닝을 위해 270만 개 이상의 합성 코딩 예시를 만들었다.

데이터 검증

합성 데이터의 품질도 다른 AI 결과물과 같은 방식(기능적 정확성·AI 평가자)으로 측정한다. 4장 §1의 평가 주도 개발 개념과 마찬가지로, 검증할 수 있는 데이터를 합성하는 경향이 있다 — 코딩이 인기 있는 활용 사례이자 합성이 많이 되는 이유도 코드 실행·단위 테스트로 기능적으로 검증하기 쉽기 때문이다. 기능적 정확성으로 검증할 수 없는 데이터는 보통 AI 검증기(범용 평가자거나 특화된 채점기)를 쓴다 — 1~5점 채점, 좋음/나쁨 분류, 요구사항 충족 여부 판단 등이 가능하다. 사실적 일관성이 중요하다면 4장 §3에서 다룬 사실적 불일치 탐지 기법으로 환각 가능성이 높은 예시를 걸러낼 수 있다. 그 밖에도 실제 데이터와 구별하기 어려운 정도로 합성 데이터 품질을 재거나(AI 콘텐츠 탐지기), 학회 채택 가능성을 예측하는 분류기로 저품질 논문을 거르는 등 창의적 방법도 쓰인다. 주제 탐지 모델로 과제와 무관한 예시를 제거하거나 이상 탐지로 이상값을 걸러낼 수도 있다. Self-Instruct 연구자들은 반복적인 예시, 너무 길거나 짧은 지시, 같은 지시에 다른 응답을 가진 예시, 입력을 그대로 반복하는 출력 같은 휴리스틱으로 생성 예시를 걸렀다. 결국 AI가 생성한 데이터의 최종 품질 테스트는 실제 모델 성능을 개선할 수 있는지 여부다.

AI 생성 데이터의 한계

합성 데이터가 유용해질수록 사람의 레이블링이 필요 없어질 거라고 상상하기 쉽지만, AI가 만든 데이터가 사람이 만든 데이터를 완전히 대체하기는 어렵다. 네 가지 이유가 있다.

  • 품질 관리 — AI가 생성한 데이터도 품질이 낮을 수 있고, 검증할 신뢰할 만한 방법과 지표가 없다면 사용을 망설이게 된다.
  • 피상적 모방 — 〈The False Promise of Imitating Proprietary LLMs〉는 모방 모델이 교사 모델의 문체는 잘 따라 하지만 사실적 정확성과 학습 범위 밖 일반화에서는 취약하며, 심지어 학생 모델이 환각을 일으키도록 가르치는 결과가 될 수 있다고 경고한다(교사가 실제로는 못 푸는 문제에 "정답처럼 보이는" 데이터를 학습시키는 셈이 되기 때문이다). 연구자들은 추론 능력 개선에는 기본 모델 품질 향상이 더 근본적이라고 제안한다.
  • 모델 성능 저하 가능성(모델 붕괴) — 〈The Curse of Recursion〉은 AI가 생성한 데이터를 반복 학습에 쓰면 모델에 돌이킬 수 없는 결함이 생기고 성능이 점점 떨어지는 모델 붕괴 현상을 VAE·GMM·LLM 등에서 확인했다(사전 학습·사후 학습 모두에서 발생할 수 있다). 가능한 설명 하나는, AI가 확률 높은 사건은 잘 생성하고 확률 낮은(희귀한) 사건은 점점 덜 생성해서, 반복될수록 모델이 희귀 사건을 잊는다는 것이다. 〈Is Model Collapse Inevitable?〉은 학습 데이터가 전부 합성이면 붕괴를 피할 수 없지만 실제 데이터와 섞으면 피할 수 있다고 주장하며(다만 정확한 혼합 비율에 대한 합의는 없다), 실제로 합성 데이터만으로도 성능을 개선한 사례(라마 2-7B 수학 파인튜닝, 네모트론-4-340B-Instruct의 98% 합성 데이터 사용)가 있지만 이들은 모두 한 번만 반복한 실험이었다는 한계가 있다. AI가 생성한 데이터는 편향을 계속 퍼뜨릴 수도 있다 — 모델이 이전 모델의 출력을 포함한 데이터로 학습되면 기존 편향이 더 커질 수 있다.
  • 불분명한 데이터 계보 — AI가 데이터를 만들면 그 데이터의 출처가 불분명해진다. 모델 X로 만든 데이터로 자신의 모델을 학습시켰는데 X가 저작권을 위반한 데이터로 학습됐다면, 자신의 모델도 위반할 수 있다. 벤치마크 B로 모델 X를 평가했는데 X가 B로 학습된 적이 있다면 그 평가 결과는 오염된 것이다 — 계보가 불분명하면 모델을 상업적으로 쓸 수 있는지, 성능을 믿을 수 있는지 판단하기 어렵다.

모델 증류

모델 증류(지식 증류)는 작은 모델(학생)이 큰 모델(교사)을 모방하도록 학습시키는 방법이다. 전통적으로는 배포용으로 더 작은 모델을 만드는 것이 목표였다 — BERT에서 증류한 DistilBERT는 크기를 40% 줄이면서도 언어 이해 능력의 97%를 유지하고 60% 더 빠르다. 학생 모델은 DistilBERT처럼 처음부터 학습시킬 수도, 알파카처럼 사전 학습된 모델에서 파인튜닝할 수도 있다 — 알파카는 1,750억 파라미터 text-davinci-003이 생성한 예시로 70억 파라미터 라마-7B를 파인튜닝해, 교사 크기의 4%에 불과하면서도 text-davinci-003과 비슷하게 동작했다. BuzzFeed는 LoRA와 text-davinci-003이 생성한 예시로 Flan-T5를 파인튜닝해 추론 비용을 80% 줄이기도 했다(다만 성능 수준은 불분명했다고 보고됐다).

참고 — 모든 모델을 증류할 수 있는 것은 아니다. 많은 모델 라이선스가 자신의 출력을 다른(특히 경쟁) 모델 학습에 쓰는 것을 금지한다.

합성 데이터로 학습한다고 전부 모델 증류인 것은 아니다 — 증류는 교사 모델의 성능이 학생의 목표가 된다는 뜻이며, 합성 데이터로 교사보다 더 크고 강력한 학생을 학습시키는 것도 가능하다. 엔비디아의 네모트론-4가 그 예다 — 3,400억 파라미터 기본 모델을 사전 학습한 뒤, 이보다 작은 560억 파라미터 전문가 혼합 모델 Mixtral-8x7B-Instruct-v0.1이 생성한 지시·선호도 데이터로 파인튜닝했더니, 학생 모델인 Nemotron-4-340B-Instruct가 여러 과제에서 오히려 교사 모델보다 좋은 성능을 보였다. 라마 3 논문은 더 뛰어난 모델이 생성한 데이터로 학습하면 성능이 크게 오르지만, 자신이 만든 데이터로 무턱대고 학습하는 것은 성능을 개선하지 못하거나 오히려 떨어뜨릴 수 있다고 지적한다 — 다만 합성 데이터 품질을 검증하는 장치를 두고 검증된 데이터만 쓰면, 자신이 만든 데이터로도 모델을 계속 개선할 수 있었다.

7. 데이터 처리

데이터는 활용 사례의 요구사항에 맞춰 처리해야 한다. 데이터셋 세부 사항을 공개한 모델 논문을 읽으면 큐레이션·생성·처리에 대한 좋은 팁을 많이 얻을 수 있다.

참고 — 처리 효율을 높이는 팁 — ① 시간·컴퓨팅을 아낄 수 있는 순서로 단계를 배열한다(예: 중복 제거가 정제보다 오래 걸리면 중복 제거를 먼저 한다) ② 전체 데이터에 적용하기 전에 처리 스크립트가 제대로 작동하는지 항상 먼저 테스트한다 ③ 원본 데이터를 직접 수정하지 않는다 — 사본을 보관해야 하는 이유는 이후 다른 애플리케이션이 같은 데이터를 다르게 처리해야 할 수 있고, 스크립트 버그가 원본 자체를 망가뜨릴 수 있기 때문이다.

데이터 검사

공개·내부 데이터로 원시 데이터셋을 모았다면 가장 먼저 데이터를 살펴보고 품질을 파악해야 한다 — 데이터가 어디서 왔는가, 어떻게 처리됐는가, 다른 용도로는 어떻게 쓰였는가부터 확인한다. 그다음 토큰 분포, 입력·응답 길이, 주제·언어 분포를 그래프로 그려 보고, 이런 주제·언어가 과제와 얼마나 관련 있는지 살핀다. 마이크로소프트 연구자들은 (동사, 직접목적어, 명사) 쌍의 분포와 응답 길이 분포로 같은 지시 세트에 대한 GPT-3와 GPT-4 생성 결과의 차이를 비교했는데, GPT-4가 더 넓고 다양한 동사-명사 조합과 더 긴 응답 경향을 보였다 — 이런 분석은 데이터뿐 아니라 모델을 평가하는 데도 쓸 수 있다.

분포를 데이터 출처·시간·주석자별로 나눠 보면 더 길거나 짧은 응답, 더 높거나 낮은 점수를 받는 패턴과 이상값을 발견할 수 있다. 점수가 정규분포를 따라야 한다면 모든 주석자의 점수가 실제로 정규분포를 따르는지 확인하고, 짧은 응답이나 높은 점수로 편향된 주석자가 있다면 그 주석을 어떻게 처리할지 정해야 한다. 예시에 주석이 여러 개라면 주석자 간 의견 차이를 계산해 갈등이 있는 예시를 확인하고 해결한다. 오픈AI 공동창립자 그렉 브록맨의 말처럼, 데이터를 직접 살펴보는 일은 ML의 모든 활동 중 가장 저평가되어 있지만 실제로는 가장 가치 있는 활동 중 하나다 — 데이터를 15분만 들여다봐도 몇 시간의 삽질을 줄여 주는 깨달음을 얻을 수 있다. 몇 개 질의를 직접 주석 달아 기존 주석과 비교해 보면 주석의 신뢰도를 가늠할 수 있고, 응답이 사실과 맞는지, 예시가 얼마나 고유한지, 같은 질의에 다른 응답이 있는지, 같은 응답에 다른 질의가 있는지도 확인해야 한다.

데이터 중복 제거

중복된 데이터는 분포를 왜곡하고 편향을 만든다. 아래 표처럼 "빨간 연필"이 세 번 중복되면 모델이 "빨간 물건은 모두 비싸다"는 잘못된 결론을 내릴 수 있고, 학습 세트와 테스트 세트로 나눌 때 한 예시와 그 중복본이 서로 다른 세트에 들어가면 테스트 세트 자체가 오염된다.

입력(제품 설명) 출력(가격)
{item: pencil, color: red} $20
{item: compass, color: green} $2
{item: pencil, color: red} (중복) $20
{item: pencil, color: red} (중복) $20
{item: pencil, color: green} $1

여러 연구가 학습 데이터 중복이 모델 성능에 나쁜 영향을 준다는 것을 보여줬다 — 앤트로픽 연구에서는 데이터의 0.1%를 100번 반복하기만 해도(나머지 90%가 전부 고유해도) 8억 파라미터 모델의 성능이 4억 파라미터 모델 수준으로 떨어질 수 있었다. 중복이 성능을 해치지 않더라도 시간·컴퓨팅을 낭비하게 만든다.

중복의 형태는 다양하다 — 전체 문서 중복(같은 문서가 여러 번), 문서 내 중복(같은 단락이 한 문서에서 두 번), 문서 간 중복(같은 인용구가 여러 문서에)이 있고, "무엇을 중복으로 볼지"도 수준(문서·단락·문장·토큰)과 기준(완전 일치 vs 80% 겹침, 순서가 다른 목록의 중복 여부)에 따라 달라진다. 구체적인 중복 제거 방법은 다음과 같다.

  • 쌍대 비교 — 정확한 일치, n-gram 유사도, 퍼지 매칭, 의미적 유사도(3장 §5에서 다룬 참조 데이터 유사도 측정 기법과 같은 계열)로 모든 예시 쌍을 비교한다. 큰 데이터셋에서는 비용이 많이 든다.
  • 해싱 — 예시를 버킷으로 해싱하고 같은 버킷끼리만 비교한다. MinHash·Bloom filter가 대표적이다.
  • 차원 축소 — 차원을 먼저 줄인 다음 쌍대 비교한다. 6장 §2에서 다룬 벡터 검색 기법을 활용할 수 있다.

dupeGuru·Dedupe·datasketch·TextDistance·TheFuzz·deduplicate-text-datasets 같은 라이브러리가 이 작업을 돕는다.

데이터 정리 및 필터링

모델을 성능 좋고 안전하게 만들려면 데이터를 정리해야 한다. 먼저 불필요한 형식 토큰(인터넷에서 긁은 데이터의 HTML 태그 등)을 없앤다 — 데이터브릭스는 불필요한 마크다운·HTML 토큰을 없앴더니 모델 정확도가 20% 오르고 입력 토큰 길이가 60% 줄었다고 보고했다. PII·민감 데이터·저작권 데이터·유해 데이터 등 정책에 맞지 않는 것은 모두 제거해야 한다(4장 §4에서 다룬 기법이 도움이 된다).

저품질 데이터를 찾아 제거하는 데는 이 장 §6 「데이터 검증」에서 다룬 기법을 쓸 수 있지만, 그 전에 데이터를 직접 보는 것이 특히 중요하다 — 직접 들여다보면 저품질 데이터를 걸러내는 휴리스틱으로 쓸 패턴을 발견할 수 있다. 그 휴리스틱은 늘 직관적이지는 않다 — 한 연구는 주석 작업 후반부에 만든 주석일수록 품질이 낮다는 것을 발견했는데, 아마 주석자가 지루해지거나 피곤해지기 때문으로 보인다. 필요보다 데이터가 많거나 컴퓨팅 예산이 빠듯하다면 능동 학습으로 학습에 가장 도움이 되는 예시를 고르거나, 중요도 샘플링으로 과제에 가장 중요한 예시를 골라 추가로 거를 수 있다(효과는 각 예시의 중요도를 얼마나 잘 평가하느냐에 달려 있다). 메타 연구자들은 좋은 데이터 가지치기 지표를 찾으면 현대 딥러닝의 자원 비용을 크게 줄일 수 있다고 결론지었다.

데이터 형식 맞추기

중복 제거·정리를 마쳤다면 파인튜닝할 모델이 기대하는 형식에 맞춰야 한다 — 각 모델은 특정 토크나이저와 채팅 템플릿 형식을 기대하며(5장 §2 참고), 잘못된 형식은 이상한 버그를 만든다. 지도 파인튜닝 데이터는 대부분 (지시, 응답) 형식이고, 지시는 (시스템 프롬프트, 사용자 프롬프트)로 더 세분화할 수 있다. 프롬프트 엔지니어링에서 파인튜닝으로 넘어가면, 지시에서 과제 설명·예시를 뺄 수 있다 — 예시가 충분하면 모델이 예시만 보고도 과제 동작 방식을 학습하기 때문이다. 예를 들어 기본 모델에 다음과 같은 3-샷 지시를 썼다고 하자.

다음 항목을 먹을 수 있거나 먹을 수 없는 것으로 분류하세요.
항목: 버거      분류: 먹을 수 있음
항목: 자동차    분류: 먹을 수 없음
항목: 버섯      분류: 먹을 수 있음
항목: {INPUT}   분류:

파인튜닝할 때는 3-샷의 각 예시를 학습 예시로 바꿀 수 있다.

예시 ID 입력 출력
1 버거 먹을 수 있음
2 자동차 먹을 수 없음
3 버섯 먹을 수 있음

파인튜닝 후에는 {INPUT} --> 처럼 훨씬 짧은 프롬프트를 쓸 수 있다. 다만 어떤 형식이 가장 좋은지는 실험해 봐야 하고, 파인튜닝된 모델을 쓸 때는 프롬프트가 학습 데이터 형식과 정확히 일치하는지 확인해야 한다 — 학습 데이터가 버거 --> 형식이라면, 끝의 화살표가 빠지거나(버거), 접두사가 추가되거나(항목: 버거 -->), 뒤에 공백이 붙은(버거 -->) 프롬프트는 모두 문제를 일으킬 수 있다.

핵심 개념 정리

개념 한 줄 설명
데이터셋 엔지니어링 정해진 예산 안에서 최고의 모델을 학습시킬 데이터셋을 만드는 일
데이터 중심 AI vs 모델 중심 AI 데이터를 개선해 성능을 올리는 접근 vs 모델(구조·크기·기법)을 개선해 성능을 올리는 접근
큐레이션 3기준 품질(재료 신선도) · 커버리지/다양성(재료 배합) · 양(재료 분량)
데이터 품질 6특성 관련성 · 작업 요구사항 부합 · 일관성 · 올바른 형식 · 충분한 고유성 · 규정 준수
필요 데이터량을 좌우하는 요소 파인튜닝 기법(전체 vs PEFT) · 과제 복잡성 · 기본 모델 성능 · 예산
데이터 증강 vs 데이터 합성 실제 데이터를 변형 vs 실제 특성을 모방해 새로 생성(둘 다 "데이터 합성"으로 통칭되기도 함)
AI 기반 합성 기법 시뮬레이션 · 셀프플레이 · 바꿔쓰기/번역 · 역지시 · 코드 검증 파이프라인(라마 3)
AI 생성 데이터의 한계 품질 관리 · 피상적 모방 · 모델 붕괴 · 불분명한 데이터 계보
모델 증류 큰 교사 모델의 행동을 작은 학생 모델이 모방하도록 학습(DistilBERT · 알파카 · 네모트론-4)
데이터 처리 4단계 데이터 검사 → 중복 제거(쌍대 비교·해싱·차원 축소) → 정리·필터링 → 형식 맞추기

실무 체크리스트

  • [ ] 이 파인튜닝에 필요한 데이터 형식(시퀀스·지시응답·선호도·점수)이 목표 학습 방식과 맞는가?
  • [ ] 학습 데이터가 품질 6특성(관련성·부합·일관성·형식·고유성·규정 준수) 중 놓친 것은 없는가?
  • [ ] 적은 양의 고품질 데이터와 많은 양의 노이즈 있는 데이터 중, 지금 우리 데이터는 어느 쪽에 가까운가?
  • [ ] 애플리케이션의 실제 사용 패턴(언어·주제·길이·오타)이 학습 데이터에 고르게 반영되어 있는가?
  • [ ] 전체 파인튜닝과 PEFT 중, 보유한 데이터량에 맞는 방법을 골랐는가?
  • [ ] 대규모 데이터셋을 만들기 전에, 소규모(50~100개) 데이터로 파인튜닝 개선 효과부터 확인했는가?
  • [ ] 데이터를 합성한다면 그 목적(양·커버리지·품질·프라이버시·증류) 중 무엇을 위한 것인지 명확한가?
  • [ ] 합성 데이터에 기능적 정확성 검증이나 AI 검증기 같은 품질 검증 장치를 두었는가?
  • [ ] 모델 붕괴를 피하기 위해 합성 데이터와 실제 데이터를 섞고 있는가, 아니면 합성 데이터만으로 반복 학습시키고 있는가?
  • [ ] 원본 데이터를 직접 수정하지 않고 사본을 보관한 채 처리 스크립트를 돌리고 있는가?
  • [ ] 데이터 중복 제거·필터링 전에 실제로 데이터를 15분이라도 직접 들여다봤는가?

연습문제

  1. 판단. 어떤 팀이 (지시, 응답) 쌍 200개만 가지고 있고 예산이 빠듯하다. 이 팀에게 전체 파인튜닝과 PEFT(LoRA) 중 무엇을 권하겠는가? 데이터량·기본 모델 선택·예산이라는 세 요소를 근거로 답하라.
  2. 적용. 유해 표현 탐지 모델을 만들어야 하는데, 실제 유해 발언 데이터를 대량으로 확보하기가 정책·윤리상 어렵다. 데이터 커버리지를 늘리기 위해 이 장에서 다룬 어떤 데이터 합성 기법을 쓸 수 있는지, 그리고 그렇게 만든 데이터를 어떻게 검증할지 설계하라.
  3. 비교. 알파카(text-davinci-003의 예시로 라마-7B를 파인튜닝)와 네모트론-4-340B-Instruct(560억 파라미터 Mixtral이 생성한 데이터로 3,400억 파라미터 모델을 파인튜닝)는 둘 다 "합성 데이터로 학습"했지만 하나만 모델 증류라고 부를 수 있다. 어느 쪽이 증류이고 어느 쪽이 아닌지, 그 판단 기준을 근거로 설명하라.
  4. 설계. 사내 문서 10,000건을 모아 사내 챗봇용 파인튜닝 데이터를 만들려고 한다. 데이터 검사 → 중복 제거 → 정리·필터링 → 형식 맞추기라는 네 단계를 이 문서 묶음에 어떤 순서·기준으로 적용할지 구체적으로 설계하라.
  5. 위험 분석. 한 팀이 자기 모델의 이전 버전이 생성한 데이터를 계속 다음 버전 학습에 재사용하고 있다. 이 관행이 만들 수 있는 두 가지 위험(모델 붕괴·불분명한 데이터 계보)을 각각 설명하고, 그 위험을 줄일 수 있는 실무적 조치를 제안하라.

최신 동향 (2026-09 기준)

최신 동향 (검증 2026-09-12) — 이 장이 다룬 원리(품질·커버리지·양이라는 큐레이션 3기준, 데이터 증강·합성의 구분, 모델 붕괴·피상적 모방 같은 한계)는 그대로 유효하다. 다만 이 장이 예시로 든 구체적인 모델 몇 가지는 책 집필 이후 상태가 달라졌다.

  • 알파카·BuzzFeed 사례가 교사로 썼던 text-davinci-003은 이제 API에서 완전히 사라졌다. 오픈AI는 2023년 7월 이 모델을 포함한 구형 GPT-3/3.5 계열 컴플리션 모델의 단계적 폐기를 예고했고, 2024년 1월 4일 자로 API 접근을 종료했다 — 권장 대체 모델은 gpt-3.5-turbo-instruct다. 이 장의 §6(모델 증류)이 설명하는 "교사 모델로 학생 모델을 파인튜닝한다"는 원리 자체는 바뀌지 않았지만, 지금 같은 방식을 재현하려면 다른(현재 서비스 중인) 모델을 교사로 골라야 한다. (OpenAI 공식 Deprecations 문서)
  • §6이 예시로 든 네모트론-4-340B-Instruct 이후, NVIDIA의 Nemotron 계열은 세대를 여러 번 넘겼다. 2025년 초 NVIDIA는 추론 능력에 특화된 Llama Nemotron(Nano·Super·Ultra) 계열을 발표했고, 이어 하이브리드 Mamba-Transformer 구조의 Nemotron-H, 그리고 가장 최근에는 Nemotron 3 계열을 공개했다. 이 장이 다룬 "교사보다 뛰어난 학생 모델을 합성 데이터로 만든다"는 네모트론-4의 설계 철학은 이후 세대에도 이어지고 있지만, 지금 시점에 벤치마크 성능을 인용하려면 이 장의 340B 모델이 아니라 최신 Nemotron 세대의 발표 자료를 확인해야 한다. (NVIDIA Nemotron 공식 페이지)

부록 A. 핵심 비교표

데이터 증강 vs 데이터 합성

구분 데이터 증강(Data Augmentation) 데이터 합성(Data Synthesis)
출발점 기존 실제 데이터를 변형 실제 데이터의 특성을 모방해 새로 생성
예시 고양이 사진을 뒤집어 새 이미지 생성 마우스 움직임을 시뮬레이션해 봇 데이터 생성
실제 데이터와의 관계 실제 데이터에서 파생됨 실제가 아님(특성만 닮음)
이 장에서의 용어 사용 좁은 의미로 구분해서 쓰되 두 용어를 함께 가리킬 때 "데이터 합성"으로 통칭

모델 중심 AI vs 데이터 중심 AI

구분 모델 중심 AI 데이터 중심 AI
개선 대상 모델 아키텍처·크기·학습 기법 데이터 처리 기법·데이터셋 품질
초기 벤치마크 성격 딥러닝 초기 대부분(같은 데이터로 최고 모델 경쟁) 최근 늘어나는 추세(같은 모델로 최고 데이터셋 경쟁)
대표 사례 새 아키텍처·더 큰 모델 개발 앤드류 응의 경진대회 · DataComp

전체 파인튜닝 vs PEFT — 필요 데이터량 관점

구분 전체 파인튜닝 PEFT(LoRA 등)
필요 데이터량 많음(수만~수백만 개) 적음(수백~수천 개로도 효과적)
최고 성능 가능성 더 높을 수 있음 전체 파인튜닝보다 낮을 수 있음
적합한 상황 데이터가 풍부할 때 데이터가 적을 때

싱글 턴 데이터 vs 멀티 턴 데이터

구분 싱글 턴 멀티 턴
가르치는 것 개별 지시에 답하는 법 작업을 해결해 나가는 과정(주고받기)
데이터 확보 난이도 비교적 간단 특별히 설계된 시나리오가 필요해 더 어려움
적합한 애플리케이션 단발성 질의응답 대화형 작업(확인 → 처리 → 수정)

부록 B. 추천 참고 자료

외부 자료 (Tier 1 공식, 생존 확인 2026-09-12)

  • OpenAI API Deprecations(공식 폐기 안내) — 최신 동향에서 다룬 text-davinci-003 폐기 사실과 대체 모델의 1차 출처. OpenAI 공식 Deprecations 문서
  • OpenAI 파인튜닝 공식 가이드 — §4가 인용한 "적은 예시엔 고급 모델이 유리하다"는 실험의 원출처이자, 지금 지원되는 파인튜닝 모델 목록을 확인하는 곳. 옛 주소 platform.openai.com/docs/guides/fine-tuning 는 이사했다 — 지금은 "Model optimization" 가이드로 이름이 바뀌어 파인튜닝을 포함한다(확인 2026-09-12). OpenAI Model optimization 공식 문서
  • NVIDIA Nemotron 공식 페이지 — 최신 동향에서 다룬, 네모트론-4 이후 계열(Llama Nemotron·Nemotron-H·Nemotron 3)의 1차 출처. NVIDIA Nemotron
  • EleutherAI lm-evaluation-harness(공식 저장소) — §5가 소개한 400개 이상의 벤치마크 데이터셋 저장소의 원출처. EleutherAI/lm-evaluation-harness
  • Stanford Alpaca(공식 저장소) — §6·부록 A가 다룬 알파카 증류 실험의 코드·데이터 원출처. tatsu-lab/stanford_alpaca
  • 허깅페이스 데이터셋 허브 — §5가 소개한 공개 데이터셋 리소스 중 가장 규모가 큰 곳. Hugging Face Datasets

더 해보기 — 읽고 끝내지 않으려면

  • §6의 거래 템플릿 예시를 그대로 코드로 옮겨 Faker 같은 라이브러리로 100건의 합성 거래 데이터를 만들어 보고, 표 8-3처럼 의도적으로 같은 항목을 여러 번 반복시킨 뒤 간단한 모델이 그 편향을 실제로 학습하는지 관찰해 본다.
  • §6의 표 8-2 편향 완화 방식(성별 단어 교체)을 자신의 데이터셋 일부에 직접 적용해 보고, 교체 전후로 성별·인물 관련 단어의 분포가 어떻게 달라지는지 세어 본다.
  • 부록 B의 lm-evaluation-harness 저장소를 열어, §5가 말한 "데이터셋당 평균 2,000개 이상 예시"가 지금도 유효한지 원하는 벤치마크 하나를 골라 직접 확인해 본다.

본 책 연계 챕터

챕터 이 장이 다루지 않은 것
2장 §3 사후 학습 사전 학습·사후 학습 자체의 구조와 목표. 이 장은 그 데이터를 어떻게 만들 것인가만 다룬다
3장 §5 참조 데이터 유사도 측정 §7이 중복 제거에 쓴다고 언급한 유사도 측정 기법(정확한 일치·n-gram·의미적 유사도)의 세부 원리
4장 §1 평가 기준 — 평가 주도 개발 §6 데이터 검증이 전제하는 "검증 가능한 것을 만든다"는 원칙의 근거. 이 장은 검증 장치를 어떻게 데이터에 적용하는지만 다룬다
4장 §3 생성 능력 — 사실 일관성 §6이 언급한 사실적 불일치 탐지 기법 자체의 원리. 이 장은 그 기법을 합성 데이터 필터링에 쓴다고만 언급한다
5장 §5 작업 분해와 생각의 사슬 §2가 다룬 CoT 데이터를 "만드는" 이야기의 반대쪽 — CoT 프롬프트를 실제로 "쓰는" 법
6장 §2 검색 알고리즘 §7 중복 제거의 차원 축소 단계가 활용한다고 언급한 벡터 검색 기법 자체
7장 §5 파라미터 효율적 파인튜닝(PEFT)과 LoRA §4가 "PEFT는 데이터가 적어도 된다"고 전제하는, PEFT·LoRA 기법 자체의 작동 원리
9장 §4·§5 이 장에서 잘 큐레이션한 데이터로 학습시킨 모델을, 실제로 어떻게 빠르고 저렴하게 서빙할 것인가
10장 §2 §5가 "10장에서 다룬다"고 예고한, 데이터 플라이휠을 만드는 사용자 피드백 시스템 설계 자체

부록 C. 연습문제 풀이

  1. (전체 파인튜닝 vs PEFT 판단) 예시가 200개뿐이고 예산도 빠듯하므로 PEFT(LoRA)를 권한다. §4에 따르면 전체 파인튜닝은 (지시, 응답) 쌍이 수만~수백만 개일 때 해볼 만하고, 수백~수천 개 수준에서는 PEFT가 더 효과적이다. 데이터가 적을 때는 더 고급(성능이 높은) 기본 모델에 PEFT를 적용하는 조합이 유리하다는 것도 §4의 결론이다 — 기본 모델 성능이 좋을수록 목표에 도달하는 데 필요한 예시가 적기 때문이다. 예산이 빠듯한 조건도 PEFT가 전체 파인튜닝보다 훨씬 적은 컴퓨팅·데이터로 동작한다는 점과 맞아떨어진다.

  2. (유해 표현 데이터 커버리지) §6 「데이터 합성을 하는 이유 — 데이터 커버리지 늘리기」에서 다룬 것처럼, 유해 표현 탐지 모델을 위해 AI로 유해 표현이 포함된 대화를 합성할 수 있다(원문이 든 예시와 같은 방향이다: 실제 유해 데이터를 확보하기 어려울 때 AI로 그 특성을 모방한 데이터를 만드는 것). 검증은 §6 「데이터 검증」의 AI 검증기 방식을 적용한다 — 예를 들어 별도의 AI 평가자에게 "이 문장이 실제로 유해 표현 탐지 학습에 쓸 만큼 과제 요구사항에 부합하는가"를 1~5점으로 채점하게 하고, 낮은 점수를 받은 예시는 걸러낸다. 동시에 §6 「AI 생성 데이터의 한계」의 품질 관리 문제를 고려해, 일부 샘플은 사람이 직접 검수해 AI 검증기의 판정과 비교해야 한다.

  3. (모델 증류 여부 판단) §6 「모델 증류」의 정의에 따르면 증류는 "교사 모델의 성능이 학생의 목표"가 되는 경우다. 알파카는 1,750억 파라미터 text-davinci-003(교사)이 생성한 데이터로 70억 파라미터 라마-7B(학생)를 파인튜닝해 교사와 "비슷하게" 동작하는 것을 목표로 삼았으므로 모델 증류에 해당한다. 반면 네모트론-4-340B-Instruct는 560억 파라미터 Mixtral(교사)의 데이터로 학습했지만, 학생 모델(3,400억 파라미터)이 교사보다 파라미터 수도 많고 실제로 여러 과제에서 교사보다 더 좋은 성능을 냈다 — 학생이 교사의 성능을 목표(상한)로 삼은 것이 아니라 그것을 뛰어넘었으므로, §6이 명시한 "합성 데이터로 교사보다 크고 강력한 학생을 학습시키는" 경우에 해당하며 전통적 의미의 모델 증류는 아니다.

  4. (사내 문서 처리 파이프라인 설계)데이터 검사 — 10,000건의 문서 출처·작성 시기·부서별 분포, 문서 길이 분포를 먼저 살펴보고 몇 건을 직접 읽어 품질을 가늠한다. ② 중복 제거 — 문서 수가 크지 않으므로(§7의 "큰 데이터셋에서는 비용이 많이 든다"는 경고에 해당하지 않음) 정확한 일치·의미적 유사도 기반 쌍대 비교로 전체 문서·문단 수준 중복을 제거한다. ③ 정리·필터링 — 사내 문서 특유의 서식 토큰(양식 헤더·서명란)과 PII(직원 개인정보)를 제거하고, 저품질(내용이 거의 없거나 형식만 있는) 문서를 휴리스틱으로 걸러낸다. ④ 형식 맞추기 — 챗봇이 기대하는 (지시, 응답) 또는 (질의, 컨텍스트, 응답) 형식으로 변환하고, 실제 서빙 시 쓸 프롬프트 형식과 정확히 일치하는지 확인한다.

  5. (재사용 위험 분석) 모델 붕괴 — §6에 따르면 이전 버전의 출력을 계속 다음 버전 학습에 재사용하면, 확률이 높은(흔한) 사건은 점점 더 많이 생성되고 확률이 낮은(희귀한) 사건은 점점 덜 생성되어, 여러 세대를 거치며 모델이 희귀한 사건·표현을 잊어버릴 수 있다. 불분명한 데이터 계보 — 어느 세대의 어떤 데이터가 실제 사용자 데이터에서 왔고 어느 것이 이전 모델의 출력인지 추적하기 어려워지면, 벤치마크 평가가 오염되었는지, 저작권·라이선스 문제가 없는지 판단할 근거를 잃는다. 완화 조치로는 실제(사람) 데이터와 합성 데이터를 항상 일정 비율로 섞고, 각 학습 예시에 출처(사람 생성/AI 생성, 생성에 쓰인 모델 버전)를 메타데이터로 남겨 계보를 추적 가능하게 하는 것을 제안할 수 있다.

난이도
에피소드
질문
카드를 로딩 중...
답변

클릭하거나 Space를 눌러 뒤집기

0 / 0
학습 진도 0%
이동   Space 뒤집기   R 셔플   P 음성 버전 2026-08-05b